package com.unitedvision.core.service;

import java.util.List;

import com.unitedvision.core.domain.Customer;
import com.unitedvision.core.domain.Status;
import com.unitedvision.core.exception.MethodNotSupportedException;
import com.unitedvision.core.exception.WrongDependencyException;
import com.unitedvision.core.exception.WrongFormatException;

public interface CustomerBasedDataRetriever<T> extends DataRetriever<T> {
	T getOneByCustomer(Customer customer) throws MethodNotSupportedException, WrongDependencyException, WrongFormatException;
	List<T> getByCustomer(Customer customer) throws MethodNotSupportedException, WrongDependencyException, WrongFormatException;
	List<T> getByCustomer(Customer customer, Status status) throws MethodNotSupportedException, WrongDependencyException;
}
